package com.cq.hd.member.po;

import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;

import java.math.BigDecimal;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 商户入驻申请记录表
 * </p>
 *
 * @author mYunYu
 * @since 2023-11-21
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("tb_merchant_enter_apply")
@ApiModel(value="TbMerchantEnterApplyPo对象", description="商户入驻申请记录表")
public class TbMerchantEnterApplyPo implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "id")
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    @ApiModelProperty(value = "入驻邀请码")
    @TableField("settle_code")
    private String settleCode;

    @ApiModelProperty(value = "申请编号")
    @TableField("apply_no")
    private String applyNo;

    @ApiModelProperty(value = "openid")
    @TableField("openid")
    private String openid;

    @ApiModelProperty(value = "微信号")
    @TableField("wechat")
    private String wechat;

    @ApiModelProperty(value = "商户名称")
    @TableField("merchant_name")
    private String merchantName;

    @ApiModelProperty(value = "商户简称")
    @TableField("merchant_short_name")
    private String merchantShortName;

    @ApiModelProperty(value = "公司类型(1：政府机构，2：国营企业，3：私营企业，4：外资企业，5：个体工商户，6：其它组织，7：事业单位)")
    @TableField("company_type")
    private Integer companyType;

    @ApiModelProperty(value = "商户logo")
    @TableField("logo")
    private String logo;

    @ApiModelProperty(value = "系统管理员手机号")
    @TableField("mobile")
    private String mobile;

    @ApiModelProperty(value = "商户登录密码")
    @TableField("login_pass")
    private String loginPass;

    @ApiModelProperty(value = "所属行业一级id")
    @TableField("mcc_one_id")
    private Long mccOneId;

    @ApiModelProperty(value = "所属行业二级id")
    @TableField("mcc_two_id")
    private Long mccTwoId;

    @ApiModelProperty(value = "所属行业code")
    @TableField("mcc")
    private String mcc;

    @ApiModelProperty(value = "所属行业名称")
    @TableField("mcc_name")
    private String mccName;

    @ApiModelProperty(value = "营业执照")
    @TableField("license_pic")
    private String licensePic;

    @ApiModelProperty(value = "营业执照图片")
    @TableField("license_pic_url")
    private String licensePicUrl;

    @ApiModelProperty(value = "营业执照编号")
    @TableField("license_code")
    private String licenseCode;

    @ApiModelProperty(value = "营业执照有效期类型:0：非长期有效 ,1：长期有效")
    @TableField("license_validity_type")
    private Integer licenseValidityType;

    @ApiModelProperty(value = "营业执照有效期开始日期")
    @TableField("license_begin_date")
    private String licenseBeginDate;

    @ApiModelProperty(value = "营业执照有效期截止日期")
    @TableField("license_end_date")
    private String licenseEndDate;

    @ApiModelProperty(value = "成立时间")
    @TableField("found_date")
    private String foundDate;

    @ApiModelProperty(value = "注册资本")
    @TableField("reg_capital")
    private BigDecimal regCapital;

    @ApiModelProperty(value = "经营范围")
    @TableField("business_scope")
    private String businessScope;

    @ApiModelProperty(value = "注册省份code")
    @TableField("reg_province_code")
    private String regProvinceCode;

    @ApiModelProperty(value = "注册省份名称")
    @TableField("reg_province_name")
    private String regProvinceName;

    @ApiModelProperty(value = "注册市code")
    @TableField("reg_city_code")
    private String regCityCode;

    @ApiModelProperty(value = "注册市名称")
    @TableField("reg_city_name")
    private String regCityName;

    @ApiModelProperty(value = "注册区县code")
    @TableField("reg_county_code")
    private String regCountyCode;

    @ApiModelProperty(value = "注册区县名称")
    @TableField("reg_county_name")
    private String regCountyName;

    @ApiModelProperty(value = "注册详细地址")
    @TableField("reg_address")
    private String regAddress;

    @ApiModelProperty(value = "经营省份code")
    @TableField("business_province_code")
    private String businessProvinceCode;

    @ApiModelProperty(value = "经营省份名称")
    @TableField("business_province_name")
    private String businessProvinceName;

    @ApiModelProperty(value = "经营市code")
    @TableField("business_city_code")
    private String businessCityCode;

    @ApiModelProperty(value = "经营市名称")
    @TableField("business_city_name")
    private String businessCityName;

    @ApiModelProperty(value = "经营区县code")
    @TableField("business_county_code")
    private String businessCountyCode;

    @ApiModelProperty(value = "经营区县名称")
    @TableField("business_county_name")
    private String businessCountyName;

    @ApiModelProperty(value = "经营详细地址")
    @TableField("business_address")
    private String businessAddress;

    @ApiModelProperty(value = "法人姓名")
    @TableField("legal_name")
    private String legalName;

    @ApiModelProperty(value = "法人证件类型")
    @TableField("legal_cert_type")
    private String legalCertType;

    @ApiModelProperty(value = "法人证件号码")
    @TableField("legal_cert_no")
    private String legalCertNo;

    @ApiModelProperty(value = "法人证件有效期类型:0：非长期有效 ,1：长期有效")
    @TableField("legal_cert_validity_type")
    private Integer legalCertValidityType;

    @ApiModelProperty(value = "法人证件有效期开始日期")
    @TableField("legal_cert_begin_date")
    private String legalCertBeginDate;

    @ApiModelProperty(value = "法人证件有效期截止日期")
    @TableField("legal_cert_end_date")
    private String legalCertEndDate;

    @ApiModelProperty(value = "法人手机号")
    @TableField("legal_mobile_no")
    private String legalMobileNo;

    @ApiModelProperty(value = "法人身份证地址")
    @TableField("legal_addr")
    private String legalAddr;

    @ApiModelProperty(value = "法人身份证人像面")
    @TableField("legal_cert_front_pic")
    private String legalCertFrontPic;

    @ApiModelProperty(value = "法人身份证人像面图片地址")
    @TableField("legal_cert_front_pic_url")
    private String legalCertFrontPicUrl;

    @ApiModelProperty(value = "法人身份证国徽面")
    @TableField("legal_cert_back_pic")
    private String legalCertBackPic;

    @ApiModelProperty(value = "法人身份证国徽面图片地址")
    @TableField("legal_cert_back_pic_url")
    private String legalCertBackPicUrl;

    @ApiModelProperty(value = "联系人姓名")
    @TableField("contact_name")
    private String contactName;

    @ApiModelProperty(value = "联系人手机号")
    @TableField("contact_mobile_no")
    private String contactMobileNo;

    @ApiModelProperty(value = "联系人电子邮箱")
    @TableField("contact_email")
    private String contactEmail;

    @ApiModelProperty(value = "联系人身份证号")
    @TableField("contact_cert_no")
    private String contactCertNo;

    @ApiModelProperty(value = "客服电话")
    @TableField("customer_mobile")
    private String customerMobile;

    @ApiModelProperty(value = "线下经营-门头照")
    @TableField("store_header_pic")
    private String storeHeaderPic;

    @ApiModelProperty(value = "线下经营-门头照图片地址")
    @TableField("store_header_pic_url")
    private String storeHeaderPicUrl;

    @ApiModelProperty(value = "线下经营-内景照")
    @TableField("store_indoor_pic")
    private String storeIndoorPic;

    @ApiModelProperty(value = "线下经营-内景照图片地址")
    @TableField("store_indoor_pic_url")
    private String storeIndoorPicUrl;

    @ApiModelProperty(value = "线下经营-收银台")
    @TableField("store_cashier_desk_pic")
    private String storeCashierDeskPic;

    @ApiModelProperty(value = "线下经营-收银台图片地址")
    @TableField("store_cashier_desk_pic_url")
    private String storeCashierDeskPicUrl;

    @ApiModelProperty(value = "结算账户类型：0：对公账户 1：对私法人账户 2：对私非法人账户")
    @TableField("card_type")
    private Integer cardType;

    @ApiModelProperty(value = "开户许可证")
    @TableField("reg_acct_pic")
    private String regAcctPic;

    @ApiModelProperty(value = "开户许可证图片地址")
    @TableField("reg_acct_pic_url")
    private String regAcctPicUrl;

    @ApiModelProperty(value = "基本存款账户编号或核准号")
    @TableField("open_licence_no")
    private String openLicenceNo;

    @ApiModelProperty(value = "结算账户名")
    @TableField("card_name")
    private String cardName;

    @ApiModelProperty(value = "结算账号/结算银行卡号")
    @TableField("card_no")
    private String cardNo;

    @ApiModelProperty(value = "银行所在地省份code")
    @TableField("bank_province_code")
    private String bankProvinceCode;

    @ApiModelProperty(value = "银行所在地省份名称")
    @TableField("bank_province_name")
    private String bankProvinceName;

    @ApiModelProperty(value = "银行所在地市code")
    @TableField("bank_city_code")
    private String bankCityCode;

    @ApiModelProperty(value = "银行所在地市名称")
    @TableField("bank_city_name")
    private String bankCityName;

    @ApiModelProperty(value = "银行所在地区县code")
    @TableField("bank_county_code")
    private String bankCountyCode;

    @ApiModelProperty(value = "银行所在地区县名称")
    @TableField("bank_county_name")
    private String bankCountyName;

    @ApiModelProperty(value = "联行号")
    @TableField("branch_code")
    private String branchCode;

    @ApiModelProperty(value = "银行编号")
    @TableField("bank_code")
    private String bankCode;

    @ApiModelProperty(value = "持卡人证件类型")
    @TableField("cert_type")
    private String certType;

    @ApiModelProperty(value = "持卡人证件号码")
    @TableField("cert_no")
    private String certNo;

    @ApiModelProperty(value = "持卡人证件有效期类型:0：非长期有效 ,1：长期有效")
    @TableField("cert_validity_type")
    private Integer certValidityType;

    @ApiModelProperty(value = "持卡人证件有效期开始日期")
    @TableField("cert_begin_date")
    private String certBeginDate;

    @ApiModelProperty(value = "持卡人证件有效期截止日期")
    @TableField("cert_end_date")
    private String certEndDate;

    @ApiModelProperty(value = "结算卡正面")
    @TableField("settle_card_front_pic")
    private String settleCardFrontPic;

    @ApiModelProperty(value = "结算卡正面图片地址")
    @TableField("settle_card_front_pic_url")
    private String settleCardFrontPicUrl;

    @ApiModelProperty(value = "结算人身份证人像面")
    @TableField("settle_cert_front_pic")
    private String settleCertFrontPic;

    @ApiModelProperty(value = "结算人身份证人像面图片地址")
    @TableField("settle_cert_front_pic_url")
    private String settleCertFrontPicUrl;

    @ApiModelProperty(value = "结算人身份证国徽面")
    @TableField("settle_cert_back_pic")
    private String settleCertBackPic;

    @ApiModelProperty(value = "结算人身份证国徽面图片地址")
    @TableField("settle_cert_back_pic_url")
    private String settleCertBackPicUrl;

    @ApiModelProperty(value = "授权委托书(对私非法人结算必填 )")
    @TableField("auth_enturst_pic")
    private String authEnturstPic;

    @ApiModelProperty(value = "授权委托书(对私非法人结算必填)图片地址")
    @TableField("auth_enturst_pic_url")
    private String authEnturstPicUrl;

    @ApiModelProperty(value = "银行卡绑定手机号")
    @TableField("mp")
    private String mp;

    @ApiModelProperty(value = "汇付商户号")
    @TableField("hf_merchant_no")
    private String hfMerchantNo;

    @ApiModelProperty(value = "取现卡序列号")
    @TableField("withdrawal_card_no")
    private String withdrawalCardNo;

    @ApiModelProperty(value = "汇付申请单号")
    @TableField("hf_apply_no")
    private String hfApplyNo;

    @ApiModelProperty(value = "申请入驻时间")
    @TableField("apply_time")
    private LocalDateTime applyTime;

    @ApiModelProperty(value = "审核时间")
    @TableField("audit_time")
    private LocalDateTime auditTime;

    @ApiModelProperty(value = "审核状态（1-待审核，2-已通过，3-未通过，4-待认证）")
    @TableField("audit_state")
    private Integer auditState;

    @ApiModelProperty(value = "系统审核状态（1-管理后台待审核，2-管理后台审核失败，3-汇付基本信息入驻待审核，4-汇付基本信息入驻审核拒绝，5-汇付基本信息入驻审核成功，" +
            "6-汇付商户业务开通待审核，7-汇付商户业务开通审核拒绝，8-汇付商户业务开通待开通，9-汇付商户业务开通成功）")
    @TableField("system_audit_state")
    private Integer systemAuditState;

    @ApiModelProperty(value = "调用汇付失败原因")
    @TableField("hf_fail_reason")
    private String hfFailReason;

    @ApiModelProperty(value = "审核拒绝原因")
    @TableField("refuse_reason")
    private String refuseReason;

    @ApiModelProperty(value = "申请入驻ip")
    @TableField("apply_ip")
    private String applyIp;

    @ApiModelProperty(value = "账户结算类型(1-个人账户结算，2-对公账户结算)")
    @TableField("settlement_type")
    private Integer settlementType;

    @ApiModelProperty(value = "创建者")
    @TableField("create_by")
    private Integer createBy;

    @ApiModelProperty(value = "创建时间")
    @TableField("create_time")
    private LocalDateTime createTime;

    @ApiModelProperty(value = "更新者")
    @TableField("update_by")
    private Integer updateBy;

    @ApiModelProperty(value = "更新时间")
    @TableField("update_time")
    private LocalDateTime updateTime;

    @ApiModelProperty(value = "备注")
    @TableField("remark")
    private String remark;

    @ApiModelProperty(value = "删除状态:0-正常，1-已删除")
    @TableField("del_state")
    private Integer delState;


}
